home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Dev
/
Oberon
/
source
/
amiga
/
Layers.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
5KB
|
204 lines
(**************************************************************************
$RCSfile: Layers.mod $
Description: Interface to layers.library
Created by: fjc (Frank Copeland)
$Revision: 3.8 $
$Author: fjc $
$Date: 1995/06/04 23:13:14 $
$VER: layers_protos.h 38.7 (26.3.92)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994-1995, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
<* STANDARD- *>
MODULE [2] Layers;
IMPORT
SYS := SYSTEM, Kernel, u := Utility, e := Exec, gfx := Graphics,
s := Sets;
(*-- Library Base variable --------------------------------------------*)
CONST
layersName * = "layers.library";
VAR
base * : e.LibraryPtr;
(*-- Library Functions ------------------------------------------------*)
TYPE
LONGBOOL * = e.LONGBOOL;
CONST
LTRUE * = e.LTRUE;
LFALSE * = e.LFALSE;
PROCEDURE InitLayers* [base,-30] (* ** OBSOLETE ** *)
( li [8] : gfx.LayerInfoPtr );
PROCEDURE CreateUpfrontLayer* [base,-36]
( li [8] : gfx.LayerInfoPtr;
bm [9] : gfx.BitMapPtr;
x0 [0] : LONGINT;
y0 [1] : LONGINT;
x1 [2] : LONGINT;
y1 [3] : LONGINT;
flags [4] : s.SET16;
bm2 [10] : gfx.BitMapPtr )
: gfx.LayerPtr;
PROCEDURE CreateBehindLayer* [base,-42]
( li [8] : gfx.LayerInfoPtr;
bm [9] : gfx.BitMapPtr;
x0 [0] : LONGINT;
y0 [1] : LONGINT;
x1 [2] : LONGINT;
y1 [3] : LONGINT;
flags [4] : s.SET16;
bm2 [10] : gfx.BitMapPtr )
: gfx.LayerPtr;
PROCEDURE UpfrontLayer* [base,-48]
( layer [9] : gfx.LayerPtr )
: BOOLEAN;
PROCEDURE BehindLayer* [base,-54]
( layer [9] : gfx.LayerPtr )
: BOOLEAN;
PROCEDURE MoveLayer* [base,-60]
( layer [9] : gfx.LayerPtr;
dx [0] : LONGINT;
dy [1] : LONGINT )
: BOOLEAN;
PROCEDURE SizeLayer* [base,-66]
( layer [9] : gfx.LayerPtr;
dx [0] : LONGINT;
dy [1] : LONGINT )
: BOOLEAN;
PROCEDURE ScrollLayer* [base,-72]
( layer [9] : gfx.LayerPtr;
dx [0] : LONGINT;
dy [1] : LONGINT );
PROCEDURE BeginUpdate* [base,-78]
( l [8] : gfx.LayerPtr )
: BOOLEAN;
PROCEDURE EndUpdate* [base,-84]
( layer [8] : gfx.LayerPtr;
flag [0] : LONGBOOL );
PROCEDURE DeleteLayer* [base,-90]
( layer [9] : gfx.LayerPtr )
: BOOLEAN;
PROCEDURE LockLayer* [base,-96]
( layer [9] : gfx.LayerPtr );
PROCEDURE UnlockLayer* [base,-102]
( layer [8] : gfx.LayerPtr );
PROCEDURE LockLayers* [base,-108]
( li [8] : gfx.LayerInfoPtr );
PROCEDURE UnlockLayers* [base,-114]
( li [8] : gfx.LayerInfoPtr );
PROCEDURE LockLayerInfo* [base,-120]
( li [8] : gfx.LayerInfoPtr );
PROCEDURE SwapBitsRastPortClipRect* [base,-126]
( rp [8] : gfx.RastPortPtr;
VAR cr [9] : gfx.ClipRect );
PROCEDURE WhichLayer* [base,-132]
( li [8] : gfx.LayerInfoPtr;
x [0] : LONGINT;
y [1] : LONGINT )
: gfx.LayerPtr;
PROCEDURE UnlockLayerInfo* [base,-138]
( VAR li [8] : gfx.LayerInfo );
PROCEDURE NewLayerInfo* [base,-144] ()
: gfx.LayerInfoPtr;
PROCEDURE DisposeLayerInfo* [base,-150]
( li [8] : gfx.LayerInfoPtr );
PROCEDURE FattenLayerInfo* [base,-156] (* ** OBSOLETE ** *)
( li [8] : gfx.LayerInfoPtr );
PROCEDURE ThinLayerInfo* [base,-162] (* ** OBSOLETE ** *)
( li [8] : gfx.LayerInfoPtr );
PROCEDURE MoveLayerInFrontOf* [base,-168]
( layertomove [8] : gfx.LayerPtr;
VAR otherlayer [9] : gfx.LayerPtr )
: BOOLEAN;
PROCEDURE InstallClipRegion* [base,-174]
( layer [8] : gfx.LayerPtr;
region [9] : gfx.RegionPtr )
: gfx.RegionPtr;
PROCEDURE MoveSizeLayer* [base,-180]
( layer [8] : gfx.LayerPtr;
dx [0] : LONGINT;
dy [1] : LONGINT;
dw [2] : LONGINT;
dh [3] : LONGINT )
: BOOLEAN;
PROCEDURE CreateUpfrontHookLayer* [base,-186]
( li [8] : gfx.LayerInfoPtr;
bm [9] : gfx.BitMapPtr;
x0 [0] : LONGINT;
y0 [1] : LONGINT;
x1 [2] : LONGINT;
y1 [3] : LONGINT;
flags [4] : s.SET16;
hook [11] : u.HookBasePtr;
bm2 [10] : gfx.BitMapPtr )
: gfx.LayerPtr;
PROCEDURE CreateBehindHookLayer* [base,-192]
( li [8] : gfx.LayerInfoPtr;
bm [9] : gfx.BitMapPtr;
x0 [0] : LONGINT;
y0 [1] : LONGINT;
x1 [2] : LONGINT;
y1 [3] : LONGINT;
flags [4] : s.SET16;
hook [11] : u.HookBasePtr;
bm2 [10] : gfx.BitMapPtr )
: gfx.LayerPtr;
PROCEDURE InstallLayerHook* [base,-198]
( layer [8] : gfx.LayerPtr;
hook [9] : u.HookBasePtr )
: u.HookPtr;
(*--- functions in V39 or higher (Release 3) ---*)
PROCEDURE InstallLayerInfoHook* [base,-204]
( li [8] : gfx.LayerInfoPtr;
hook [9] : u.HookBasePtr )
: u.HookPtr;
PROCEDURE SortLayerCR* [base,-210]
( layer [8] : gfx.LayerPtr;
dx [0] : LONGINT;
dy [1] : LONGINT );
PROCEDURE DoHookClipRects* [base,-216]
( hook [8] : u.HookBasePtr;
rport [9] : gfx.RastPortPtr;
rect [10] : gfx.RectanglePtr );
(*-- Library Base variable --------------------------------------------*)
<*$LongVars-*>
PROCEDURE* [0] Close (VAR rc : LONGINT);
BEGIN (* Close *)
IF base # NIL THEN e.CloseLibrary (base) END
END Close;
BEGIN (* Layers *)
base := e.OpenLibrary (layersName, e.libraryMinimum);
IF base = NIL THEN HALT (100) END;
Kernel.SetCleanup (Close)
END Layers.